com.highdeal.tax.hci
Class TaxInfoModel

java.lang.Object
  extended by com.highdeal.tax.hci.TaxInfoModel
All Implemented Interfaces:
XMLMarshallable

public class TaxInfoModel
extends java.lang.Object
implements XMLMarshallable

This Java class specifies the tax settings of a subscriber account in customer master data.

The SAP CC system uses this information when calculating the tax data (amounts, ...):

Additional Information

Consult the SAP CC Library (Application Help) documentation about tax management feature and configuration.

See Also:
TaxDataModel, SubscriberAccountModel

XML API for HCI

The XML APIs specify the following XSD fragment:

XSD Fragment

<xs:element name="taxInfo">
   <xs:complexType>
     <xs:sequence>
       <xs:element ref="taxData" minOccurs="0" maxOccurs="1"/>
     </xs:sequence>
     <xs:attribute name="taxationModule" type="AccountTaxationModuleType" default="vatTaxationModule"/>  <!-- invoicing tax system -->
     <xs:attribute name="taxCode" type="xs:string" default="NO_TAX"/>  <!-- See country code embedded with slashes -->
     <xs:attribute name="taxationMode" type="AccountTaxationModeType" default="vendorSubjectToPay"/>
   </xs:complexType>
 </xs:element>
<xs:simpleType name="AccountTaxationModuleType">
  <xs:restriction base="xs:string">
   <xs:enumeration value="nopTaxationModule"/>
   <xs:enumeration value="vatTaxationModule"/>  <!-- EU VAT system or flat tax system -->
   <xs:enumeration value="eztaxTaxationModule"/>  <!-- US EZTax system -->
  </xs:restriction>
 </xs:simpleType>
<xs:simpleType name="AccountTaxationModeType">
  <xs:restriction base="xs:string">
   <xs:enumeration value="vendorSubjectToPay"/>
   <xs:enumeration value="buyerSubjectToPay"/>
   <xs:enumeration value="buyerExempted"/>
   <xs:enumeration value="noTax"/>
  </xs:restriction>
 </xs:simpleType>


Constructor Summary
TaxInfoModel()
           
TaxInfoModel(com.highdeal.tax.Tax.TaxationModule taxationModule, java.lang.String taxCode, com.highdeal.tax.Tax.TaxationMode taxationMode, TaxDataModel taxData)
          Builds a tax information
 
Method Summary
 void addCharacterData(java.lang.String cData)
          Adds character data to the content element.
 void addChild(java.lang.String tagName, XMLMarshallable child)
          Adds a child to the object, the child representing the marshallable object which must be added to the element.
 com.highdeal.tax.Tax.TaxationMode getTaxationMode()
          Gets the taxation mode for the account see TaxationMode
 com.highdeal.tax.Tax.TaxationModule getTaxationModule()
          Gets the tax system for the account see TaxationModule
 java.lang.String getTaxCode()
          Gets the tax code for the account
 TaxDataModel getTaxData()
          Returns all set tax data, as a Properties with names as key and values as values.
 void marshal(XMLOutputter output)
          Gives an XML representation of this object, including its children.
 void setAttributes(XMLAttributes atts)
          Sets the attributes of the XML representation of the element being processed.
 void setTaxationMode(com.highdeal.tax.Tax.TaxationMode taxationMode)
          Sets the taxation mode for the account
 void setTaxationModule(com.highdeal.tax.Tax.TaxationModule taxationModule)
          Sets the tax system for the account
 void setTaxCode(java.lang.String taxCode)
          Sets the tax code for the account
 void setTaxData(TaxDataModel taxData)
          Sets the taxation data
 java.lang.String toString()
          Returns a string representation of the tax information
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TaxInfoModel

public TaxInfoModel()

TaxInfoModel

public TaxInfoModel(com.highdeal.tax.Tax.TaxationModule taxationModule,
                    java.lang.String taxCode,
                    com.highdeal.tax.Tax.TaxationMode taxationMode,
                    TaxDataModel taxData)
Builds a tax information

Parameters:
taxationModule - The tax system, see AccountTaxationModuleType to know available modules to tax this account
taxCode - The code of the tax which is associated to the account
taxationMode - The taxation mode, see the AccountTaxationModeType to know available modes to tax this account
taxData - The specific EZTax data for this account
Method Detail

setTaxData

public void setTaxData(TaxDataModel taxData)
Sets the taxation data

Parameters:
taxData - The taxation data

getTaxData

public TaxDataModel getTaxData()
Returns all set tax data, as a Properties with names as key and values as values.

Returns:
A Properties

getTaxationModule

public com.highdeal.tax.Tax.TaxationModule getTaxationModule()
Gets the tax system for the account see TaxationModule

Returns:
The tax system (taxation module) for the account

setTaxationModule

public void setTaxationModule(com.highdeal.tax.Tax.TaxationModule taxationModule)
Sets the tax system for the account

Parameters:
taxationModule - The taxation module for this account see TaxationModule to know available modules to tax this account

getTaxCode

public java.lang.String getTaxCode()
Gets the tax code for the account

Returns:
The tax code for the account

setTaxCode

public void setTaxCode(java.lang.String taxCode)
Sets the tax code for the account

Parameters:
taxCode - The tax code for this account

getTaxationMode

public com.highdeal.tax.Tax.TaxationMode getTaxationMode()
Gets the taxation mode for the account see TaxationMode

Returns:
The taxation mode for the account

setTaxationMode

public void setTaxationMode(com.highdeal.tax.Tax.TaxationMode taxationMode)
Sets the taxation mode for the account

Parameters:
taxationMode - The taxation mode for this account see TaxationMode to know available modes to tax this account

toString

public java.lang.String toString()
Returns a string representation of the tax information

Overrides:
toString in class java.lang.Object
Returns:
A string representation of the tax information

setAttributes

public void setAttributes(XMLAttributes atts)
Description copied from interface: XMLMarshallable
Sets the attributes of the XML representation of the element being processed.

Specified by:
setAttributes in interface XMLMarshallable
Parameters:
atts - The XML attributes of the current element

addChild

public void addChild(java.lang.String tagName,
                     XMLMarshallable child)
Description copied from interface: XMLMarshallable
Adds a child to the object, the child representing the marshallable object which must be added to the element.

Specified by:
addChild in interface XMLMarshallable
Parameters:
tagName - The name of tag for the child
child - The child to be added

addCharacterData

public void addCharacterData(java.lang.String cData)
Description copied from interface: XMLMarshallable
Adds character data to the content element.

Specified by:
addCharacterData in interface XMLMarshallable
Parameters:
cData - The character data to be added

marshal

public void marshal(XMLOutputter output)
Description copied from interface: XMLMarshallable
Gives an XML representation of this object, including its children.

Specified by:
marshal in interface XMLMarshallable
Parameters:
output - The XML output to marshal the object into

Document Published: October 2015 (SAP CC 4.0 SP10 and Later)